package com.koo.modules.product.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.koo.common.base.entity.CommonEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * @author charlin
 * @email 136137465@qq.com
 * @date 2022-12-20 16:45:05
 */
@Data
@ApiModel()
@TableName(value = "product_info")
public class ProductInfoEntity extends CommonEntity {
    private static final long serialVersionUID = 1L;

    @ExcelProperty(value = "产品Id", index = 0)
    @TableId
    private Long productId;

    @ColumnWidth(11)
    @ExcelProperty(value = "产品编码", index = 1)
    @ApiModelProperty(value = "产品编码")
    private String productCode;

    @ColumnWidth(11)
    @ExcelProperty(value = "产品名称", index = 2)
    @ApiModelProperty(value = "产品名称")
    private String productName;

    @ColumnWidth(11)
    @ExcelProperty(value = "产地", index = 3)
    @ApiModelProperty(value = "产地")
    private String producingArea;

    @ColumnWidth(11)
    @ExcelProperty(value = "规格", index = 4)
    @ApiModelProperty(value = "规格")
    private String standard;

    @ColumnWidth(11)
    @ExcelProperty(value = "单位", index = 5)
    @ApiModelProperty(value = "单位")
    private String unit;

    @ColumnWidth(11)
    @ExcelProperty(value = "助记码", index = 6)
    @ApiModelProperty(value = "助记码")
    private String pinyin;

    @ColumnWidth(11)
    @ExcelProperty(value = "总库存", index = 7)
    @ApiModelProperty(value = "总库存")
    private BigDecimal totalStorage;

    @ColumnWidth(11)
    @ExcelProperty(value = "批发价", index = 8)
    @ApiModelProperty(value = "批发价")
    private BigDecimal tradePrice;

    @ColumnWidth(11)
    @ExcelProperty(value = "旧的采购价", index = 9)
    @ApiModelProperty(value = "旧的采购价")
    private BigDecimal purchaseOldPrice;

    @ColumnWidth(11)
    @ExcelProperty(value = "最近采购价", index = 9)
        @ApiModelProperty(value = "最近采购价")
    private BigDecimal purchasePrice;

    @ColumnWidth(11)
    @ExcelProperty(value = "指导零售价", index = 11)
    @ApiModelProperty(value = "指导零售价")
    private BigDecimal retailPrice;

    @ColumnWidth(11)
    @ExcelProperty(value = "本地零售价", index = 12)
    @ApiModelProperty(value = "本地零售价")
    private BigDecimal salePrice;

    @ColumnWidth(11)
    @ExcelProperty(value = "会员价", index = 13)
    @ApiModelProperty(value = "会员价")
    private BigDecimal memberPrice;

    @ColumnWidth(11)
    @ExcelProperty(value = "条形码", index = 14)
    @ApiModelProperty(value = "条形码")
    private String barCode;

    @ExcelIgnore
    @ApiModelProperty(value = "是否处方药")
    private Integer isRxDrug;

    @ColumnWidth(11)
    @ExcelProperty(value = "批准文号", index = 15)
    @ApiModelProperty(value = "批准文号")
    private String approvalNo;

    @ColumnWidth(11)
    @ExcelProperty(value = "生产单位", index = 16)
    @ApiModelProperty(value = "生产单位")
    private String produceFactory;

    @ColumnWidth(11)
    @ExcelProperty(value = "剂型", index = 17)
    @ApiModelProperty(value = "剂型")
    private String dosageForm;

    @ColumnWidth(11)
    @ExcelProperty(value = "有效期天数", index = 18)
    @ApiModelProperty(value = "有效期天数")
    private Integer expiryDay;

    @ExcelIgnore
    @ApiModelProperty(value = "是否医保")
    private Integer isYiBao;

    @ExcelIgnore
    @ApiModelProperty(value = "含特药品种")
    private Integer isGmp;

    @ExcelIgnore
    @ApiModelProperty(value = "是否中药")
    private Integer isDrug;

    @ColumnWidth(11)
    @ExcelProperty(value = "价格浮动", index = 19)
    @ApiModelProperty(value = "价格浮动")
    private BigDecimal priceFloat;

    @ExcelIgnore
    @ApiModelProperty(value = "能否拆零")
    private Integer isCanSplit;

    @ExcelIgnore
    @ApiModelProperty(value = "是否拆零药")
    private Integer isSplit;

    @ColumnWidth(11)
    @ExcelProperty(value = "拆零后单位", index = 20)
    @ApiModelProperty(value = "拆零后单位")
    private String afterSplitUnit;

    @ColumnWidth(11)
    @ExcelProperty(value = "拆零系数", index = 21)
    @ApiModelProperty(value = "拆零系数")
    private Double splitNum;

    @ExcelIgnore
    @ApiModelProperty(value = "是否完成审核")
    private Integer isAudit;

    @ExcelIgnore
    @ApiModelProperty(value = "是否取消")
    private Integer isCancel;

    @ColumnWidth(11)
    @ExcelProperty(value = "库存上限", index = 22)
    @ApiModelProperty(value = "库存上限")
    private BigDecimal storageUpper;

    @ColumnWidth(11)
    @ExcelProperty(value = "库存下限", index = 23)
    @ApiModelProperty(value = "库存下限")
    private BigDecimal storageFloor;

    @ExcelIgnore
    @ApiModelProperty(value = "是否重点养护")
    private Integer isMainConserve;

    @ExcelIgnore
    @ApiModelProperty(value = "是否中药饮片")
    private Integer isDrugPiece;

    @ExcelIgnore
    @ApiModelProperty(value = "1:表示有提成，0:表示没有")
    private Integer isCommission;

    @ExcelIgnore
    @ApiModelProperty(value = "提成类别, 1:按药品销售毛利提成, 2:按销售金额提成, 3:每销售一件提成多少元  ")
    private String commissionType;

    @ColumnWidth(11)
    @ExcelProperty(value = "提成数量", index = 24)
    @ApiModelProperty(value = "提成数量")
    private BigDecimal commissionAmount;

    @ColumnWidth(11)
    @ExcelProperty(value = "利润", index = 25)
    @ApiModelProperty(value = "利润")
    private BigDecimal profit;

    @ColumnWidth(11)
    @ExcelProperty(value = "利润率", index = 26)
    @ApiModelProperty(value = "利润率")
    private BigDecimal profitRate;

    @ExcelIgnore
    @ApiModelProperty(value = "处方药凭处方单销售字段标识 0否，1是")
    private Integer isNeedPrescription;

    @ColumnWidth(11)
    @ExcelProperty(value = "限购数量", index = 27)
    @ApiModelProperty(value = "限购数量")
    private BigDecimal limitCount;

    @ColumnWidth(11)
    @ExcelProperty(value = "采购总数量", index = 28)
    @ApiModelProperty(value = "采购总数量")
    private BigDecimal purchaseTotalNum;

    @ColumnWidth(11)
    @ExcelIgnore
    @ApiModelProperty(value = "类别id")
    private Long categoryId;

    @ColumnWidth(11)
    @ExcelProperty(value = "类别名称", index = 29)
    @ApiModelProperty(value = "类别名称")
    private String categoryName;

    @ExcelIgnore
    @ApiModelProperty(value = "是否退热品种0否1是")
    private Integer isColdMedicine;


}
